package com.blb.thread;

/**
 * 自定义Runnable对象
 * 更加灵活，继承类后不能继承其它类，实现接口没有任何限制
 * 语法更严格，必须重写run方法，继承类后不强制要求
 */
public class MyRunnable implements Runnable{

    @Override
    public void run() {
        for (int i = 0; i < 100; i++) {
            System.out.println(Thread.currentThread().getName() + "执行了" + i);
            //当前线程睡眠
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
                return;
            }
        }
    }

    public static void main(String[] args) {
        //创建Thread对象，同时传入Runnable对象
        Thread thread = new Thread(new MyRunnable());
        //启动线程
        thread.setName("旺财");
        thread.start();
        //中断线程
        thread.interrupt();
        //使用lambda表达式实现Runnable
//        for(int i = 0; i < 10;i++){
//            new Thread(() -> {
//                for (int j = 0; j < 100; j++) {
//                    System.out.println(Thread.currentThread().getName() + "执行了" + j);
//                }
//            }).start();
//        }
    }
}
